package com.hundsun.documentripper.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hundsun.documentripper.domain.pojo.Product;
import com.hundsun.documentripper.domain.query.ProductQuery;

/**
 * Note：
 *
 * @author ：mengjw
 * @description：产品接口
 * @date ：Created in 2021/1/26
 */
public interface ProductService {

    /**
     * 新增产品
     *
     * @param product
     */
    void insertProduct(Product product);

    /**
     * 更新产品对象
     *
     * @param product
     */
    void updateProduct(Product product);

    /**
     * 根据唯一标识获取产品对象
     *
     * @param uuid
     * @return
     */
    Product getProductById(String uuid);

    /**
     * 分页获取当前用户的产品列表
     *
     * @param productQuery
     * @return
     */
    IPage<Product> getProductListByPage(ProductQuery productQuery);

    /**
     * 根据唯一标识删除产品对象
     *
     * @param uuid
     */
    void deleteProduct(String uuid);

    /**
     * 用户新增产品权限
     *
     * @param uuid
     */
    void userBindProduct(String uuid, String userUuid);

    /**
     * 用户取消产品权限
     *
     * @param uuid
     */
    void userUnbindProduct(String uuid, String userUuid);

}